home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Drag.idl < prev    next >
Text File  |  1996-05-01  |  10KB  |  272 lines

  1. /*
  2.      File:        Drag.idl
  3.  
  4.      Contains:    Drag and Drop Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __DRAG_IDL__
  19. #define __DRAG_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __SCRAP_IDL__
  25. #include <Scrap.idl>
  26. #endif
  27. #ifndef __APPLEEVENTS_IDL__
  28. #include <AppleEvents.idl>
  29. #endif
  30. #ifndef __QUICKDRAW_IDL__
  31. #include <Quickdraw.idl>
  32. #endif
  33. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  34. #ifndef __TEXTEDIT_IDL__
  35. #include <TextEdit.idl>
  36. #endif
  37. #ifndef __FILES_IDL__
  38. #include <Files.idl>
  39. #endif
  40. #ifndef __EVENTS_IDL__
  41. #include <Events.idl>
  42. #endif
  43. #endif
  44.  
  45. #ifdef __SOMIDL__
  46.  
  47. /*
  48. _________________________________________________________________________________________________________
  49.     
  50.  * DRAG MANAGER DATA TYPES
  51.       Currently there are two data types representing a drag in this interface file; ScrapRef and
  52.      DragReference.  It is safe to assume:
  53.      ScrapRef == DragReference
  54.      The two types can be used interchangably throughout the Drag interface file.  ScrapRef is the
  55.      new System 8 Drag Manager data type.  API's that are deprecated for System 8 will always
  56.      take a DragReference as their parameter.
  57.      For now though, use them interchangably.
  58. _________________________________________________________________________________________________________
  59. */
  60. typedef ScrapRef                DragReference;
  61.  
  62. typedef ScrapRef                DragScrapRef;
  63.  
  64. typedef ScrapItemUserReference ItemReference;
  65.  
  66. typedef ScrapItemType            FlavorType;
  67.  
  68. /*
  69. _________________________________________________________________________________________________________
  70.     
  71.  * DRAG ATTRIBUTES
  72. _________________________________________________________________________________________________________
  73. */
  74. typedef OptionBits                DragAttributes;
  75.  
  76. /*
  77. _________________________________________________________________________________________________________
  78.     
  79.  * DRAG IMAGE FLAGS
  80. _________________________________________________________________________________________________________
  81. */
  82. typedef OptionBits                DragImageFlags;
  83.  
  84. /*
  85. _________________________________________________________________________________________________________
  86.     
  87.  * DRAG IMAGE TRANSLUCENCY LEVELS
  88. _________________________________________________________________________________________________________
  89. */
  90. typedef UInt32                    DragImageTranslucency;
  91.  
  92. /*
  93. _________________________________________________________________________________________________________
  94.     
  95.  * DRAG DRAWING PROCEDURE MESSAGES
  96. _________________________________________________________________________________________________________
  97. */
  98. typedef SInt16                    DragRegionMessage;
  99.  
  100. /*
  101. _________________________________________________________________________________________________________
  102.     
  103.  * ZOOM ACCELERATION
  104. _________________________________________________________________________________________________________
  105. */
  106. typedef SInt16                    ZoomAcceleration;
  107.  
  108. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  109. /*
  110. _________________________________________________________________________________________________________
  111.     
  112.  * FLAVOR FLAGS
  113. _________________________________________________________________________________________________________
  114. */
  115. typedef OptionBits                FlavorFlags;
  116.  
  117. /*
  118. _________________________________________________________________________________________________________
  119.     
  120.  * SPECIAL FLAVORS
  121. _________________________________________________________________________________________________________
  122. */
  123. /*
  124. _________________________________________________________________________________________________________
  125.     
  126.  * DRAG TRACKING HANDLER MESSAGES
  127. _________________________________________________________________________________________________________
  128. */
  129. typedef SInt16                    DragTrackingMessage;
  130.  
  131. /*
  132. _________________________________________________________________________________________________________
  133.     
  134.  * HFS FLAVORS
  135. _________________________________________________________________________________________________________
  136. */
  137. typedef SOMLargeStruct            HFSFlavor;                    /* Derived from a struct of 80 bytes in size */
  138.  
  139. typedef SOMLargeStruct            PromiseHFSFlavor;            /* Derived from a struct of 14 bytes in size */
  140.  
  141. /*
  142. _________________________________________________________________________________________________________
  143.     
  144.  * APPLICATION-DEFINED DRAG HANDLER ROUTINES
  145. _________________________________________________________________________________________________________
  146. */
  147. typedef OpaquePtr DragTrackingHandlerProcPtr;
  148. typedef OpaquePtr DragTrackingHandlerUPP;
  149. typedef OpaquePtr DragReceiveHandlerProcPtr;
  150. typedef OpaquePtr DragReceiveHandlerUPP;
  151. /*
  152. _________________________________________________________________________________________________________
  153.     
  154.  * APPLICATION-DEFINED ROUTINES
  155. _________________________________________________________________________________________________________
  156. */
  157. typedef OpaquePtr DragSendDataProcPtr;
  158. typedef OpaquePtr DragSendDataUPP;
  159. #endif
  160. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  161. typedef OpaquePtr DragInputProcPtr;
  162. typedef OpaquePtr DragInputUPP;
  163. typedef OpaquePtr DragDrawingProcPtr;
  164. typedef OpaquePtr DragDrawingUPP;
  165. #endif
  166. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  167. /*
  168. _________________________________________________________________________________________________________
  169.     
  170.  * INSTALLING AND REMOVING HANDLERS API'S
  171. _________________________________________________________________________________________________________
  172. */
  173. /*
  174. _________________________________________________________________________________________________________
  175.     
  176.  * CREATING & DISPOSING
  177. _________________________________________________________________________________________________________
  178. */
  179. /*
  180. _________________________________________________________________________________________________________
  181.     
  182.  * ADDING DRAG ITEM FLAVORS
  183. _________________________________________________________________________________________________________
  184. */
  185. /*
  186. _________________________________________________________________________________________________________
  187.     
  188.  * PROVIDING CALLBACK PROCEDURES
  189. _________________________________________________________________________________________________________
  190. */
  191. #endif
  192. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  193. /*
  194. _________________________________________________________________________________________________________
  195.     
  196.  * SETTING THE DRAG IMAGE
  197. _________________________________________________________________________________________________________
  198. */
  199. #endif
  200. #if FOR_SYSTEM8_COOPERATIVE
  201. /*
  202. _________________________________________________________________________________________________________
  203.     
  204.  * SETTING THE DRAG IMAGE TRANSLUCENCY LEVEL
  205. _________________________________________________________________________________________________________
  206. */
  207. /*
  208. _________________________________________________________________________________________________________
  209.     
  210.  * PERFORMING A DRAG
  211. _________________________________________________________________________________________________________
  212. */
  213. #endif
  214. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  215. /*
  216. _________________________________________________________________________________________________________
  217.     
  218.  * GETTING DRAG ITEM INFORMATION
  219. _________________________________________________________________________________________________________
  220. */
  221. #endif
  222. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  223. /*
  224. _________________________________________________________________________________________________________
  225.     
  226.  * DRAG ITEM BOUNDS
  227. _________________________________________________________________________________________________________
  228. */
  229. /*
  230. _________________________________________________________________________________________________________
  231.     
  232.  * DROP LOCATIONS
  233. _________________________________________________________________________________________________________
  234. */
  235. /*
  236. _________________________________________________________________________________________________________
  237.     
  238.  * GETTING INFORMATION ABOUT A DRAG
  239. _________________________________________________________________________________________________________
  240. */
  241. /*
  242. _________________________________________________________________________________________________________
  243.     
  244.  * DRAG HIGHLIGHTING
  245. _________________________________________________________________________________________________________
  246. */
  247. #endif
  248. /*
  249. _________________________________________________________________________________________________________
  250.     
  251.  * UTILITIES
  252. _________________________________________________________________________________________________________
  253. */
  254. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  255. #endif
  256. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  257. #endif
  258. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  259. /*
  260. _________________________________________________________________________________________________________
  261.  * OLD NAMES
  262.    These are provided for compatiblity with older source bases.  It is recommended to not use them since
  263.      they may removed from this interface file at any time.
  264. _________________________________________________________________________________________________________
  265. */
  266. #endif
  267.  
  268. #endif /* __SOMIDL__ */
  269.  
  270. #endif /* __DRAG_IDL__ */
  271.  
  272.